package com.yqg.protection.controller.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.Map;

/**
 * projectName:xf-service
 * author:zxf
 * time:2025/8/7 15:48
 * description:
 */
@Data
public class FireCockVo {
    private Integer upPacketSN;       // 上行包序列号
    private String deviceType;        // 设备类型
    private String productId;         // 产品ID
    @JsonProperty("IMEI")
    private String IMEI;              // 设备IMEI
    private String deviceId;          // 设备ID
    private String protocol;          // 通信协议
    private String messageType;       // 消息类型
    private String assocAssetId;      // 关联资产ID
    private String tenantId;          // 租户ID
    @JsonProperty("IMSI")
    private String IMSI;              // SIM卡IMSI
    private String topic;             // MQTT主题
    private Integer upDataSN;         // 上行数据序列号
    private String serviceId;         // 服务ID（用于判断payload结构）
    private Long timestamp;           // 时间戳
    private Map<String, Object> payload;

//    @Data
//    public static class SignalReportPayload {
//        private Integer pci; // 物理小区标识
//        private Integer rsrp; // 参考信号接收功率
//        @JsonProperty("cell_id")  // 映射JSON中的cell_id字段
//        private Integer cellId; // 小区标识
//        private Integer sinr; // 信号干扰加噪声比
//        private Integer ecl; // 小区唯一标识
//    }
//
//    @Data
//    public static class InfoReportPayload {
//        private String ICCID;  // 设备ICCID
//        private String IMSI;  // SIM卡IMSI
//        private String location;  //位置信息
//        private String IMEI;  // 设备IMEI
//        @JsonProperty("power_type")  // 映射JSON中的power_type字段
//        private Integer powerType;  //电源类型
//        @JsonProperty("dev_type")  // 映射JSON中的dev_type字段
//        private Integer devType;  //设备类型
//        private String version;  //设备固件版本号
//        @JsonProperty("dev_model")  // 映射JSON中的dev_model字段
//        private Integer devModel;  //设备型号
//    }
//
//    @Data
//    public static class ParamReportPayload {
//        @JsonProperty("send_interval")  // 映射JSON中的send_interval字段
//        private Integer sendInterval;  //数据发送间隔(s)
//        @JsonProperty("self_check_days")  // 映射JSON中的self_check_days字段
//        private Integer selfCheckDays;  //自检间隔天数(day)
//        @JsonProperty("samp_interval")  // 映射JSON中的samp_interval字段
//        private Integer sampInterval;  //数据采样间隔(s)
//        @JsonProperty("alarms_th")  // 映射JSON中的alarms_th字段
//        private String alarmsTh;  //告警门限
//        @JsonProperty("features_bits")  // 映射JSON中的features_bits字段
//        private Integer featuresBits;  //设备功能配置位
//        private String IMEI;  //设备IMEI
//        private String network;  //网络类型
//    }
//
//    @Data
//    public static class SensorDatReportPayload {
//        private Integer CSQ;  //CSQ
//        @JsonProperty("alarms_dat")  // 映射JSON中的alarms_dat字段
//        private String alarmsDat;  //告警数据
//        private Integer alarm;  //系统告警
//        @JsonProperty("sensor_dat")  // 映射JSON中的sensor_dat字段
//        private String sensorDat;  //传感器数据
//        private String IMEI;  //设备IMEI
//        @JsonProperty("dev_type")  // 映射JSON中的dev_type字段
//        private Integer devType;  //设备类型
//        @JsonProperty("samp_time")  // 映射JSON中的samp_time字段
//        private String sampTime;  //数据采样时间
//        @JsonProperty("dev_model")  // 映射JSON中的dev_model字段
//        private Integer devModel;  //设备型号
//        @JsonProperty("bat_level")  // 映射JSON中的bat_level字段
//        private Integer batLevel;  //电量百分比(%)
//    }
//
//    @Data
//    public static class EmcyEvtReportPayload {
//        private String IMEI;  //设备IMEI
//        private Integer event;  //设备事件
//    }
}
